// DPCase.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "ShapeFactory.h"
#include "CairoLibrary.h"
#include "GDILibrary.h"
#include "CImgLibrary.h"
#include "GraphicLibrary.h"
#include "Diagram.h"
#include "Line.h"
#include "MyEllipse.h"
#include "ShapeDecorator.h"
#include "ShapeShadow.h"
#include "ShapeHighlight.h"
#include "HandleDecorator.h"
#include "DFDDiagram.h"
#include "Element.h"
#include "ActivityDiagram.h"
#include "Helper.h"

int _tmain(int argc, _TCHAR* argv[])
{
	//IGraphicLibrary* cairo = new CairoLibrary(GetConsoleWindow());
	IGraphicLibrary* gdi = new GDILibrary(GetConsoleWindow());
	//IGraphicLibrary* cimg = new CImgLibrary(700,500);
	vector<Shape*> shapeArr;
	Shape* shape;
	
	shape = ShapeFactory::getInstance()->
		generateFromType(ShapeType::_Rectangle,new ShapeInfo( 150,100,200,450,RGB(0,0,255),2,RGB(255,0,255)),gdi);
	shapeArr.push_back(shape);	


	Diagram* dia=new ActivityDiagram();
	
	dia->AddElement(ElementType::_End,
		new ShapeInfo( 150,100,200,450,RGB(0,0,255),2,RGB(255,0,255)));
	dia->AddElement(ElementType::_Input,
		new ShapeInfo( 250,100,200,450,RGB(0,0,255),2,RGB(255,0,255)));
	dia->AddElement(ElementType::_Start,
		new ShapeInfo( 350,100,200,450,RGB(0,0,255),2,RGB(255,0,255)));
	dia->Draw();
	return 0;
}


